The Internet is a means of sharing and transporting information which has become pervasive in society. It is based on TCP/IP (Transmission Control Protocol/Internet Protocol) A large number of homes in the United States are connected to the Internet using one or more computers. Users generally connect to the Internet from their homes by way of an Internet Service Provider (ISP). (See, for example, FIG. 1, where users at devices 101, 107, 109 connect 103, 111, 113 to an ISP 105.) The number of Internet Service Providers (ISPs) has grown at a phenomenal rate. The exponential growth in people using the Internet has resulted in modifications to TCP/IP (the protocol supporting the Internet) to enable more users to access the Internet. It has also resulted in the use of aliases and proxies to replicate information and provide additional access to information.
When the ISPs started competing for customers, they intended customers to use their high speed connections for exchanging mail, surfing the WEB and playing internet-hosted information such as movies, CDS, games, etc. The ISPs did not intend their customers to use the connections for a dynamic source of content. With this in mind, many ISPs implemented a technology called IP Network Address Translation (NAT) as a means of connecting the large number of home users to the Internet without using a larger number of registered addresses (since the registered addresses are a limited resource, hence expensive). The specifications for NAT are set out in the IETF""s (Internet Engineering Task Force) RFC (Request for Comment) 1631. The NAT implementation places network address translators at the borders of stub domains as shown in FIG. 2. Each NAT box has a table consisting of pairs of local IP addresses and globally unique addresses. The IP addresses inside the stub domain are not globally unique. They are reused in other domains. The NAT can be installed without changes to the routers or the hosts, thereby making it very attractive to rapidly growing ISPs.
The ISPs also use DHCP (Dynamic Host Configuration Protocol) or PPP (Point-to-Point Protocol) to dynamically assign private addresses to customer equipment, and use transparent proxies (for things such as news, mail and multi-media information) as a way of minimizing backbone traffic. NAT, DHCP/PPP and transparent proxies solved the addressing problems in expanding always-connected home networks, reduced the costs of provider""s backbones and helped restrain hackers from taking advantage of open ports to end-user equipment, but these steps resulted in the inability of the home network to be accessed from the Internet. The home network has no permanent externally-visible address and connections must originate at the home network. This means that, should a user want to access their home security camera from their internet connection at work, they would be unable to do so given the present technology and a standard ISP Internet connection.
While the need for conventions such as NAT and DHCP/PPP have been reduced by the introduction of IP v6 (Internet Protocol version 6), the changes required for IP v6 are rather significant and a vast majority of the installations will still implement the NAT, DHCP/PPP conventions when they upgrade from IP v4 to IP v6.
With the roll out of xe2x80x98always onxe2x80x99 or continuously available high speed connectivity via cable and Digital Subscriber Lines (DSL) to the home and small business comes the possibility of some interesting server-based personal applications that rely on dynamic data being shared by small groups. The simplest form of this is monitoring and control of the home, for example, being able to view the security camera, listen to one""s pet, turn on or off lights, remotely control appliances like the microwave, . . . etc. A simple extension of the concept leads to remote access of one""s personal applications on the home PC such as an electronic money application, personal calendar, CD catalog database, and so forth. Extending access to family members, friends and business associates becomes a natural progression, turning one""s home network into a personal application-hosting environment.
Since the ISPs are using NAT, DHCP/PPP and transparent proxies to reduce their costs and to limit the ability of attackers to take advantage of open ports on end-user equipment, the ability to host applications on a person""s home network that is accessible to others is limited.
Up to this point, there has been no general solution to this situation, but it is clear from present convention that the need exists. Webcams represent the state of today""s art in dealing with this situation, making images snapped in the home generally available on the Internet by way of a Web server located at an internet addressable hosting site or as eMail sent to a small list of mail-boxes. For the Web case, a program running on the home network, for example, monitors a security camera looking for motion. When this is detected, the program creates an HTTP or FTP session to the Web hosting site, transferring a pre-agreed named still image from the camera to the server, where the named image has been referenced in a static HTML (Hypertext Markup Language) page which has been marked up with auto-refresh header information. One could then monitor one""s home from the office by displaying the web page on one""s office browser. This kind of specialized solution works only to the degree that the home network can predict what information will be needed and is able to stage this on the hosting server. It also assumes that there is no need for modifying home information/systems from the Internet.
The solution set forth with the present invention avoids these limitations of the present art by modifying the Internet hosting site with a proxy servlet which, in conjunction with a home network reverse proxy, allows a web server on the home network to be seen from the Internet as a URL at the Internet based hosting site. By using the HTTP protocol originating at the home network reverse proxy and flowing to the hosting site, this solution looks to the ISP as if a web browser was simply surfing the internet and hence is totally transparent to the NAT, DHCP/PPP, and transparent proxy technologies which the ISP might employ. To accomplish this, the request/response meaning of HTTP within the channel between the home network reverse proxy and the internet hosting server is reversed.
It is an object of the present invention to allow users to access their home network remotely when their ISP has provided service using NAT and/or DHCP/PPP and/or other network aliasing.
It is yet another object of the present invention to allow users to access personal applications on their home network remotely using their ISP connection.
It is yet another object of the present invention to extend the above access to other authorized users.